home *** CD-ROM | disk | FTP | other *** search
- • Acorn DTP fonts and print outs − P.J.Burn says that in order to
- print out Acorn DTP documents on an A310 you should select mode 11 as
- this releases 40k of memory. He also says that in order to increase the
- speed of the DTP screen update you should ensure that the font cache is
- 24k or larger.
- 3.1
- • Acorn DTP double spacing − Some readers have complained that when
- starting a new paragraph the Acorn DTP will always produce a double
- space. This can be solved by altering the space above setting of the
- paragraph’s style.
- 3.1
- • BASIC listings for !Edit − Mark Taylor says that it is easy to
- create an ASCII copy of a BASIC program. Just install !Edit in the
- normal way and then create a task window (this can be done by clicking
- the MENU button on the !Edit icon and selecting the ‘New task window’
- item from the ‘Create’ sub-menu). In this window start BASIC by typing
- *BASIC, then just LOAD the required program and LIST it. You can now
- save the contents of the window as a normal ASCII file.
- 3.1
- • C operating system calls (issue 2.12 p 36 cont) − Ray Loades-Bannon
- says that to access OSCLI commands from C you should use either:
- 3.1
- system (“screensave <pathname>””)
- 3.1
- or:
- 3.1
- {3 .1
- char *cptr;
- 3.1
- strcpy (cptr,“screensave ”);
- 3.1
- strcat(cptr,pathnameptr);
- 3.1
- system(cptr);
- 3.1
- }
- 3.1
- See the ‘Calling other programs from C’ chapter in the C manual for
- further details.
- 3.1
- • Debugger BreakPoints − When stepping though code, it is useful to
- run the code up to a breakpoint, and then remove the breakpoint and
- reposition it further ahead. Here are three function keys defin-itions
- suggested by Robin Terry to help you do this:
- 3.1
- *Key1 “BreakClr PC|MBreakSet ”
- 3.1
- *Key2 “Continue|M”
- 3.1
- *Key3 “MemoryI PC|M”
- 3.1
- The first breakpoint is set by using *BreakSet, but subsequent break
- points can be set by pressing <f1> and typing in the address. Then press
- <f2> should be pressed to execute the code , and <f3> should be pressed
- to look at where you’ve got to.
- 3.1
- • Droom under RISC-OS − A.H.Eagle says that when using Droom under
- RISC-OS the $.Data.Map program just caused the computer to freeze at
- line 820. This line reads 820 ?&CFF=L, and doesn’t seem to serve any
- purpose (perhaps it is a hang-over from the BBC version). He removed
- this line and the program now seems to work OK ( ... so far!).
- 3.1
- • Econet and the Desktop − A warning to all people using the desktop
- on the network: *commands are truncated to about 80 characters by the
- NetFiler, so for example, if you are several directories down and you
- rename a file, it could be renamed to something that you didn’t quite
- expect. More dangerous is the *Delete, in that you could want to *delete
- net#254:<pathname>.FredOld but your good copy is deleted when the
- command is truncated to *delete net#254:<pathname>.Fred. Truncation
- occurs due to the Acorn fileservers only being able to cope with data
- packets of around 80 characters (although the SJ Research fileserver can
- handle packets up to 128 characters). Another interesting feature is
- that if the *command is over 128 characters, no truncation occurs and a
- Net error is generated.
- 3.1
- • Filer_OpenDir revisited (issue 2.12 p 6 cont) − A simpler way of
- using system variables with the *Filer_OpenDir command has been
- suggested by one of the Archive BBS callers:
- 3.1
- *Set Alias$temp Filer_OpenDir <system variable>|MUnset Alias$temp|M
- 3.1
- *temp
- 3.1
- This sets up a system variable, called Alias$temp, which is used to
- expand the system variable and then delete itself once called.
- 3.1
- • Hard Disc Backup program on Careware 3 − Terry Bromilow says: “The
- program was originally written to run under Arthur OS using the D or L
- format discs. I put a new front end on it to make an application for
- RISC-OS and put in some lines to accommodate E format discs. It is now
- evident that the latter did not get tested.
- 3.1
- The BASIC program !Hdb_v200 in the !HDBackup directory should be amended
- as follows:-
- 3.1
- Interchange the adjacent lines 2140 and 2150 and put a new line between
- them: 2141 *DISMOUNT
- 3.1
- • Hard disc parking (2.11 p 13 cont) − Martyn Lovell says that
- although *bye from a non-adfs filing system won’t park an adfs hard disc
- *adfs:bye will (SCSI hard drive owners should use *scsi:bye).
- 3.1
- • Keyboard condensation − One reader has noted that there is no
- lacquer on the top surface of the keyboard PCB. It is not unusual for
- people to blow dust, etc away from the keyboard, however, this will
- cause condensation onto the PCB and cause some minor corrosion. This can
- easily be wiped away.
- 3.1
- • Limited ADFS memory error − The ADFS module will remember the
- catalogues of any discs it sees (e.g. those that it *mounts). However,
- it is limited to the amount of memory it can allocate to ‘remembering’
- these catalogues. This is governed by the *Configure ADFSDirCache
- command. When the ADFS directory cache is full, the oldest catalogues
- should be discarded as new ones are encountered. Unfortunately, the
- module has a bug, which prevents it from doing this properly. What makes
- this bug so serious is that it can cause the dreaded ‘Filecore in use’
- error, which cannot be rectified, thereby making it impossible for you
- to save any data, etc that you might have been working on. (If Phil
- Colmer at Acorn, or whoever, could give us a clue on this one, that
- would be useful. Ed.)
- 3.1
- • Naming discs − You may already realise that you should not give
- discs the same name (using the *NameDisc command) as RISC-OS will only
- access one of the discs i.e. the one most recently *MOUNTed. David
- Leckie found that this also holds up for fileservers discs. He had two
- separate fileservers 254 and 245 both with hard disks called FS, as you
- can imagine this cause much confusion!
- 3.1
- • Obey module bug − “Speak and I shall obey ... or maybe not.” There
- is a bug in the obey module supplied in the ROMS (v0.07). If an
- environment variable is set to a string ending with the tilde character
- (~) then the string will magically acquire a few extra characters, or
- worse.
- 3.1
- Using Edit, create a new obey file containing the command:
- 3.1
- Set testvariable abcdef~
- 3.1
- or similar, ensuring that the <return> key is pressed immediately after
- the tilde (~). Save the file to a directory window and then double click
- on the file icon to run the file. This will create the variable
- “testvariable”. Press <f12> to get a system prompt and type
- 3.1
- Show testvariable
- 3.1
- to display the variable’s value. It will show some-thing like
- 3.1
- testvariable : abcdef~~&’
- 3.1
- i.e. it has acquired a few extra characters. (N.B. I’ve been unable to
- repeat (see below) this so the characters may be wrong − but I do know
- where they originate from so this is an educated guess)
- 3.1
- Worse is that depending on the exact situation when the file is run an
- “Abort on Data Transfer” error may occur (!!) and the variable will not
- have been created.
- 3.1
- The problem is easily solved − don’t try and create a string ending with
- ~ in an obey file. If necessary a space can be placed after the tilde
- (~) and this will be enough to prevent the error. Clifford Hoggarth
- 3.1
- • RAM disc size − To read the size of a RAM disc, not *configured but
- set from within the desktop task manager you should use:
- 3.1
- SYS “OS_ReadRAMFsLimits” TO A,B
- 3.1
- (B-A)/1024 gives the size of the the RAM disc in kbytes.
- 3.1
- To check if a *configured ram disc exists then try:
- 3.1
- SYS “OS_Byte”,161,144 To ,,ramdiscsize%
- 3.1
- The variable ramdiscsize% indicates the number of RAM pages to be
- allocated to the RAM disc e.g. 8k blocks for a 300 series.
- 3.1
- • Recursive directory copying − If you copy a directory into itself
- (as Clive Payne did with his library directory in issue 2.11 p 15) the
- computer will get into an infinite loop of copying directories inside of
- themselves. To stop the computer from using all your disc space up, you
- can press the escape key. The error can then be rectified by going into
- the parent directory and deleting its children i.e. you don’t have to
- reformat your disc!
- 3.1
- • ROM Speed Up − In several Archive issues (e.g. issue 2.11 p 8) we
- have pointed out that the speed at which the Archimedes runs its ROMs
- can be increased. Martyn Lovell advises us that this can cause RISC-OS
- to crash and so is not very reliable.
- 3.1
- • Squish − I am very pleased with Mike Harrison’s “SQUISH” program (on
- Careware disc 2). It enables me to write meaningful, well laid out
- programs and then to gain processing speed following compression.
- Brilliant!
- 3.1
- I have, however, discovered a bug. This occurs whenever you use a
- statement such as:
- 3.1
- IF a=b c=d
- 3.1
- What actually happens is that it compresses to:
- 3.1
- IF a=bc=d
- 3.1
- The program then fails “Unknown or missing variable”. To circumvent
- this, the full construct IF ... THEN ... should be used. B.R.Wilson,
- Solihull
- 3.1
- • Uncluttering catalogues (2.11 p 13 cont) − If you close down an
- application using the ADJUST button the filer will (re)open the viewer
- containing the file you last accessed.
- 3.1
- • Using Sys$DateFormat (issue 2.12 p 19 cont) − Mark Taylor (along
- with several others) has answered a question which appeared in last
- month’s Help!!! column.
- 3.1
- The system variable Sys$DateFormat is only used by the SWI call
- OS_ConvertStandardDate AndTime and not by the BASIC pseudo variable
- TIME$ (see pp 400-402 of the old PRM for further details).
- 3.1
- 10 REM >$.Convert
- 3.1
- 20 REM a program to convert TIME &
- 3.1
- DATE in to a string,
- 3.1
- 30 REM in the format of the system
- 3.1
- variable Sys$DateFormat
- 3.1
- 40 :
- 3.1
- 50 REM some workspace for the time
- 3.1
- & date SYS call
- 3.1
- 60 DIM block% 100
- 3.1
- 70 :
- 3.1
- 80 *Set Sys$DateFormat
- 3.1
- %yr%mn%dy%24%mi%se
- 3.1
- 90 string$=FNtime_date
- 3.1
- 100 PRINT “The time is
- 3.1
- (YYMMDDHHMMSS) = “;string$
- 3.1
- 110 END
- 3.1
- 120 :
- 3.1
- 130 DEFFNtime_date
- 3.1
- 140 REM first get 5 byte time code
- 3.1
- 150 REM using OS_Word &0E,3
- 3.1
- 160 SYS “OS_Word”,&0E,3 TO r0,r1
- 3.1
- 170 :
- 3.1
- 180 REM get date & time string
- 3.1
- 190 SYS “OS_ConvertStandardDate
- 3.1
- AndTime“,block%,block%+50,49
- 3.1
- TO r0,r1,r2
- 3.1
- 200 :
- 3.1
- 210 REM extract string from data
- 3.1
- block
- 3.1
- 220 date$=“”
- 3.1
- 230 FOR x%=0 TO (12-r2)
- 3.1
- 240 data$+=CHR$(r0?x%)
- 3.1
- 250 NEXT x%
- 3.1
- 260 =date$
- 3.1
-
- 3.1
- • VIDC warning − Someone (Philip Green, I think) sent in a warning to
- say that you should NEVER connect and disconnect video and monitor
- connections with the computer switched on for fear of damaging the VIDC.
- 3.1
- I have been doing just that for two years now on several different
- Archimedes computers and have NEVER had any problems, so I wasn’t going
- to bother printing the warning − it seemed a little over cautious. This
- morning I connected up a brand new monitor, live as usual, and got a
- funny picture. “Drat”, says I, “It’s a DOA and will have to go back to
- the distributor from whence it came!” However, further fiddling and
- switching of monitors (live) between computers revealed that the
- computer was at fault − there were funny dark vertical lines down the
- display and the sound was a bit croaky (sound comes through VIDC). This
- is what you call learning the hard way or “Pride comes before a fall” or
- something. Anyway, don’t say we didn’t warn you! Ed.
- 3.1
- • Hints & Tips printing error, Archive 2.12 p 7. The IF statement at
- line 750 is incorrect − a 7 has been cut off by the editor − ‘key% < 5’
- should read ‘key% <57’.
-